package _1_二维数组中的查找;

/**
 * 题目描述
 *   在一个二维数组中（每个一维数组的长度相同），每一行都按照从左到右递增的顺序排序，
 *   每一列都按照从上到下递增的顺序排序。请完成一个函数，输入这样的一个二维数组和一个整数，
 *   判断数组中是否含有该整数。
 */

/**
 * 思路
 *   从二维数组的左下角开始判断，如果目标大于它，说明在这行，j++
 *   如果目标小于它，i--
 */
public class Solution {
    public boolean Find(int target, int [][] array) {
        int row = array.length;
        int col = array[0].length;
        for(int i=row-1,j=0;i>=0&&j<col;){
            if(target==array[i][j]) return true;
            else if(target>array[i][j]) j++;
            else if(target<array[i][j]) i--;
        }
        return false;
    }
}